﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using IT_Tracker.DADOS;
using IT_Tracker.ENTIDADES;
using System.IO;

using ComponentFactory.Krypton.Toolkit;





namespace IT_Tracker
{
    public partial class Form_ContasTelefonia : KryptonForm
    {
        public Form_ContasTelefonia(Usuario susuario)
        {
            InitializeComponent();

            sessionuser = susuario;

        }

        #region *************Declarações

        Usuario sessionuser = new Usuario();
        ContasTelefonia cTelefonia = new ContasTelefonia();

        #endregion

        #region **************Eventos
        private void rbtnImportaArquivo_Click(object sender, EventArgs e)
        {              
            dgConta.DataSource = importaTXT();
            formataGridView();            
        }
        #endregion

        #region *************Metodos

        private void formataGridView()
        {
            var gdvTkt = dgConta;


            gdvTkt.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
            gdvTkt.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
            
            gdvTkt.RowsDefaultCellStyle.SelectionBackColor = Color.LightSkyBlue;          

            //seleciona a linha inteira
            gdvTkt.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            //não permite seleção de multiplas linhas
            gdvTkt.MultiSelect = false;
            // exibe nulos formatados
            gdvTkt.DefaultCellStyle.NullValue = " - ";
            //Formatar dados de acordo com seus valores

            //somente leitura
            gdvTkt.ReadOnly = true;

            //permite que o texto maior que célula não seja truncado
            gdvTkt.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            //alinha o cabeçalho do datagrid
            gdvTkt.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            //alinha conteudo do datagrid centralizado
            gdvTkt.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            //alinha apenas a coluna descricao a esquerda
            gdvTkt.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;            


        }




        private DataTable importaTXT()
        {
            //criando a Dialog que receberá o caminho do arquivo
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Arquivo texto (*.txt)|*.txt";
            openFileDialog.FilterIndex = 0;

            string arquivo = openFileDialog.FileName;

            //abre a dialog
            if (DialogResult.OK == openFileDialog.ShowDialog())
            {
                arquivo = openFileDialog.FileName;
            }

            DataTable dTable = cTelefonia.importaTXT(arquivo);
            return dTable;

        }
        #endregion

    }
}
